/*
 * ili9341.h
 *
 *  Created on: 2021年11月8日
 *      Author: master
 */

#ifndef HARDDRIVER_ILI9341_H_
#define HARDDRIVER_ILI9341_H_

#ifdef __cplusplus
extern "C" {
#endif

/*********************
 *      INCLUDES
 *********************/
#include "board.h"
#include "lvgl.h"
#include "Lvgl/porting/lv_port_disp.h"
#include "peripherals.h"
#include "pin_mux.h"
#include "fsl_debug_console.h"

/*********************
 *      DEFINES
 *********************/
//#define ILI9341_DC        CONFIG_LV_DISP_PIN_DC
#define ILI9341_USE_RST  1
#define ILI9341_INVERT_COLORS 1
#define CONFIG_LV_PREDEFINED_DISPLAY_NONE

#define LCD_MODLE(modle)  	GPIO_PinWrite(BOARD_INITPINS_LCD_DC_GPIO, BOARD_INITPINS_LCD_DC_PORT, BOARD_INITPINS_LCD_DC_PIN, modle)
#define LCD_CS(cs) GPIO_PinWrite(BOARD_INITPINS_LCD_SSEL_GPIO, BOARD_INITPINS_LCD_SSEL_PORT, BOARD_INITPINS_LCD_SSEL_PIN, cs)
/**********************
 *      TYPEDEFS
 **********************/

/**********************
 * GLOBAL PROTOTYPES
 **********************/
void ili9342_read_id();
void ili9341_init(void);
void ili9341_init_i(void);
void ili9341_flush(lv_disp_drv_t * drv, const lv_area_t * area, lv_color_t * color_map);
void ili9341_sleep_in(void);
void ili9341_sleep_out(void);

/**********************
 *      MACROS
 **********************/

#ifdef __cplusplus
} /* extern "C" */
#endif



#endif /* HARDDRIVER_ILI9341_H_ */
